package com.zeei.gis.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.zeei.gis.vo.ListPointGisVO;
import com.zeei.gis.vo.OutletQueryCondition;
import com.zeei.gis.vo.PointListGisVO;
import com.zeei.gis.vo.PointQuantityByGroupGisVO;
import com.zeei.gis.vo.TwentyFourHourMonitorDataGisVO;
import com.zeei.gis.vo.TwentyFourHourMonitorQueryConditionGisVO;

/**
 * 
 * @类型名称：PointListGisVODao
 * @类描述：TODO 大气污染物排放-排放口基本情况dao层接口
 * @功能描述：TODO 大气污染物排放-排放口基本情况dao层接口
 * @创建作者：jiangqingpeng
 */
public interface PointListGisVODao {
	
	/**
	 * queryPointQuantity:TODO 查询废气排口数量
	 *
	 * @param areacode
	 * @return Long
	 */
	Long queryPointQuantity(OutletQueryCondition outletQueryCondition);
	
	/**
	 * queryPointSynthesizeByAreacode:TODO 按区域、行业、监管类型查询废水排口
	 *
	 * @param outletQueryCondition
	 * @return List<PointListGisVO>
	 */
	List<ListPointGisVO> queryPointSynthesizeAll(OutletQueryCondition outletQueryCondition);
	
	/**
	 * 
	 * queryOutletByPointCode:TODO 通过排口编码查询废气排口详情
	 *
	 * @param pointcode
	 * @return List<PointListGisVO>
	 */
	List<PointListGisVO> queryOutletByPointCode(@Param("pointcode")String pointcode);

	/**
	 * queryAirTwentyFourHourMonitorData:TODO 通过排口编号和当前时间查询实时污染物浓度
	 *
	 * @param tfhqc
	 * @return List<TwentyFourHourMonitorDataGisVO>
	 */
	List<TwentyFourHourMonitorDataGisVO> queryAirTwentyFourHourMonitorData(
			TwentyFourHourMonitorQueryConditionGisVO tfhqc);

	/**
	 * queryAirPointSynthesize:TODO 请修改方法功能描述
	 *
	 * @param outletQueryCondition
	 * @return List<ListPointGisVO>
	 */
	
	List<ListPointGisVO> queryAirPointSynthesize(OutletQueryCondition outletQueryCondition);

	/**
	 * queryPointQuantityByAreacode:TODO 通过地区编码查询废气排口数量
	 *
	 * @param areacode
	 * @return Long
	 */
	Long queryPointQuantityByAreacode(@Param("areacode")String areacode);

	/**
	 * queryPointQuantityByTradecode:TODO  通过行业编码查询废气排口数量
	 *
	 * @param tradecode
	 * @return Long
	 */
	Long queryPointQuantityByTradecode(@Param("tradecode")String tradecode);

	/**
	 * queryPointQuantityByControllEvel:TODO 查询每个控制级别排口数量
	 *
	 * @return List<PointQuantityByGroupGisVO>
	 */
	List<PointQuantityByGroupGisVO> queryPointQuantityByControllEvel();
}